/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package treeship.core.ship;

import treeship.core.archetype.ArchetypeShip;
import treeship.core.exceptions.CantDoThatException;
import treeship.core.ship.space.Position;

/**
 * 
 * @author Moonchild
 */
public interface TreeOperations<T extends TreeOperations> {

	public void clientClimb() throws CantDoThatException;

	public void clientDescend(T brother) throws CantDoThatException;

	public void clientAttach() throws CantDoThatException;

	public void clientDetach() throws CantDoThatException;

	public void spawnInner(ArchetypeShip archetype) throws CantDoThatException;

	public void goTo(Position p) throws CantDoThatException;
}
